(if (>= (javaVersion T) (1 7) )
  (de javaDefStatic (ClassObject Methods Fields SimpleClass)
    (let Methods (methodsAsMethodHandles Methods "Static")
      (javaDefStaticFields ClassObject Fields SimpleClass)
      (for Method Methods
        (let (MethodName (staticMember SimpleClass (car Method) )
              Method (cdr Method)
              @Methods (methodHandlesSymbol MethodName Method) )
          (when @Methods
            (def MethodName
              (curry (@Methods) @
                (use @Methods
                  (pass invokeMethodHandles
                    @Methods) ) ) ) ) ) ) ) )
  (de javaDefStatic (ClassObject Methods Fields SimpleClass)
    (let (@Class (pack (java ClassObject "getName") )
          Methods (memberNames Methods "Static") )\
      (javaDefStaticFields ClassObject Fields SimpleClass)
      (for @Method Methods
        (def (staticMember SimpleClass @Method)
          (curry (@Class @Method) @
              (pass 'java @Class @Method) ) ) ) ) ) )